package net.chathu.airgw.packets.gw.clientpackets 
{
	import net.chathu.airgw.model.Room;
	import net.chathu.airgw.model.User;
	import net.chathu.airgw.packets.gw.serverpackets.EchoPacket;
	import net.chathu.airgw.util.ByteArrayUtil;
	/**
	 * ...
	 * @author ze
	 */
	public class CMDKick extends IRCReceivablePacket 
	{
		
		public function CMDKick() 
		{
			
		}
		
		override public function execute():void {
			
			if (data.length > 2)
			{
				var roomName:String = data[1];
				var userName:String = data[2];
				
				var room:Room = sessionData.chatData.rooms.getRoomByName(roomName);
				var user:User = User(sessionData.chatData.users.getUserByNameIgnoreCase(userName));
				
				//TODO: ellenorizni, hogy az adott szobaban van-e jogod kidobni usert!
				//Ilyesmit korabban a chat.hu nem ellenorzott. (..az invite jogot biztosan nem)
				if (room && user && room.isConfRoom)
				{
					sendToChat(ByteArrayUtil.convertParams(["m","messages","5","0",String(user.regId),String(room.inviteId)]));	
				} else {
					sendToClient(new EchoPacket(sessionData.nick, "Kick: hibás parméterek"));
				}
			}
		}
		
		public static function getShortUsageDescription():String {
			return "Kirúgás konferencia szobából";
		}
		
		public static function getUsageDescription():String {
			return "Példa:\n" +
				"/kick gipsz_jakab_szobája fül_elek\n\n" +
				"Eredmény:\n" + 
				"Sikeresen kirúgtad fül_elek felhasználót a gipsz_jakab_szobája szobából.";
		}
	}

}